Leadtools.ImageProcessing.SpecialEffects Send comments on this topic. | Back to Introduction - All Topics | Help Version 15.12.11
FunctionalLightCommand Constructor(Int32,Int32,Int32,Int32,Int32,Int32[],FunctionalLightCommandFlags)
See Also  Example
Leadtools.ImageProcessing.SpecialEffects Namespace > FunctionalLightCommand Class > FunctionalLightCommand Constructor : FunctionalLightCommand Constructor(Int32,Int32,Int32,Int32,Int32,Int32[],FunctionalLightCommandFlags)




frequency
Value that represents the frequency factor. This parameter is used if the FunctionalLightCommandFlags.Trigonometry or FunctionalLightCommandFlags.Freehand flag is set. Valid values range from 1 - 10000. This value is divided internally by 100 (corresponding to a real interval of 0.01 - 100.0).
redAmplitude
If the image is grayscale, this parameter represents the amplitude of the master channel. If the image is color and FunctionalLightCommandFlags.Multiply or FunctionalLightCommandFlags.LinearQuadratic flags are set, this parameter represents the amplitude of each channel. If the image is color and the FunctionalLightCommandFlags.Addition flag is set, this represents the amplitude of the red channel. This value is an integer with a value greater than or equal to 0. This value will be multiplied with the results of the selected function (sine, cosine, user buffer , _). The results of the multiplications are then added to the pixel values. These functions as well as the real buffer values are from -1 to 1. Possible values for this parameter are from 0-100.
greenAmplitude
Value that represents the amplitude of the green color when the addition operation is used (FunctionalLightCommandFlags.Addition flag is set). This value is ignored when grayscale images are used or when the multiplication operation is used (FunctionalLightCommandFlags.Multiply flag is set). This value is also ignored if the FunctionalLightCommandFlags.LinearQuadratic flag is set. Possible values for this parameter are from 0 - 100.
blueAmplitude
Value that represents the amplitude of the blue color when the addition operation is used (FunctionalLightCommandFlags.Addition flag is set). This value is ignored when grayscale images are used or when the multiplication operation is used ( FunctionalLightCommandFlags.Multiply flag is set). This value is also ignored if the FunctionalLightCommandFlags.LinearQuadratic flag is set. Possible values for this parameter are from 0 -100.
angle
Value that represents the angle, in hundredths of degrees. This parameter is used if the FunctionalLightCommandFlags.Trigonometry or FunctionalLightCommandFlags.Freehand flag is set. Valid values for this parameter range from -18000 to 18000. This value is divided internally by 100.
buffer
Array that holds all points that represents the shape drawn by the user. This parameter is used only if the FunctionalLightCommandFlags.Freehand flag is set. These values should be between -1000 and 1000. They are internally divided by 1000, so the real values are between -1 and 1.
flags
Flags that indicate the function applied to the image. For a list of the available flags, refer to FunctionalLightCommandFlags.
Initializes a new FunctionalLightCommand class object with explicit parameters.

Syntax

Visual Basic (Declaration) 
Public Function New( _
   ByVal frequency As Integer, _
   ByVal redAmplitude As Integer, _
   ByVal greenAmplitude As Integer, _
   ByVal blueAmplitude As Integer, _
   ByVal angle As Integer, _
   ByVal buffer() As Integer, _
   ByVal flags As FunctionalLightCommandFlags _
)
Visual Basic (Usage)Copy Code
Dim frequency As Integer
Dim redAmplitude As Integer
Dim greenAmplitude As Integer
Dim blueAmplitude As Integer
Dim angle As Integer
Dim buffer() As Integer
Dim flags As FunctionalLightCommandFlags
 
Dim instance As FunctionalLightCommand(frequency, redAmplitude, greenAmplitude, blueAmplitude, angle, buffer, flags)
C# 
public FunctionalLightCommand( 
   int frequency,
   int redAmplitude,
   int greenAmplitude,
   int blueAmplitude,
   int angle,
   int[] buffer,
   FunctionalLightCommandFlags flags
)
Managed Extensions for C++ 
public: FunctionalLightCommand( 
   int frequency,
   int redAmplitude,
   int greenAmplitude,
   int blueAmplitude,
   int angle,
   int[] buffer,
   FunctionalLightCommandFlags flags
)
C++/CLI 
public:
FunctionalLightCommand( 
   int frequency,
   int redAmplitude,
   int greenAmplitude,
   int blueAmplitude,
   int angle,
   array<int> buffer,
   FunctionalLightCommandFlags flags
)

Parameters

frequency
Value that represents the frequency factor. This parameter is used if the FunctionalLightCommandFlags.Trigonometry or FunctionalLightCommandFlags.Freehand flag is set. Valid values range from 1 - 10000. This value is divided internally by 100 (corresponding to a real interval of 0.01 - 100.0).
redAmplitude
If the image is grayscale, this parameter represents the amplitude of the master channel. If the image is color and FunctionalLightCommandFlags.Multiply or FunctionalLightCommandFlags.LinearQuadratic flags are set, this parameter represents the amplitude of each channel. If the image is color and the FunctionalLightCommandFlags.Addition flag is set, this represents the amplitude of the red channel. This value is an integer with a value greater than or equal to 0. This value will be multiplied with the results of the selected function (sine, cosine, user buffer , _). The results of the multiplications are then added to the pixel values. These functions as well as the real buffer values are from -1 to 1. Possible values for this parameter are from 0-100.
greenAmplitude
Value that represents the amplitude of the green color when the addition operation is used (FunctionalLightCommandFlags.Addition flag is set). This value is ignored when grayscale images are used or when the multiplication operation is used (FunctionalLightCommandFlags.Multiply flag is set). This value is also ignored if the FunctionalLightCommandFlags.LinearQuadratic flag is set. Possible values for this parameter are from 0 - 100.
blueAmplitude
Value that represents the amplitude of the blue color when the addition operation is used (FunctionalLightCommandFlags.Addition flag is set). This value is ignored when grayscale images are used or when the multiplication operation is used ( FunctionalLightCommandFlags.Multiply flag is set). This value is also ignored if the FunctionalLightCommandFlags.LinearQuadratic flag is set. Possible values for this parameter are from 0 -100.
angle
Value that represents the angle, in hundredths of degrees. This parameter is used if the FunctionalLightCommandFlags.Trigonometry or FunctionalLightCommandFlags.Freehand flag is set. Valid values for this parameter range from -18000 to 18000. This value is divided internally by 100.
buffer
Array that holds all points that represents the shape drawn by the user. This parameter is used only if the FunctionalLightCommandFlags.Freehand flag is set. These values should be between -1000 and 1000. They are internally divided by 1000, so the real values are between -1 and 1.
flags
Flags that indicate the function applied to the image. For a list of the available flags, refer to FunctionalLightCommandFlags.

Example

Visual BasicCopy Code
ImageProcessing.SpecialEffects.FunctionalLightCommand.FunctionalLightConstructor_S3
   Public Sub FunctionalLightConstructorExample_S3()
      RasterCodecs.Startup()
      Dim codecs As New RasterCodecs()
      codecs.ThrowExceptionsOnInvalidImages = True

      Dim leadImage As RasterImage = codecs.Load("C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Master.jpg")

      ' Prepare the command
      Dim userPoint() As Point
      ReDim userPoint(3)
      'Apply the filter
      userPoint(0).X = 0
      userPoint(0).Y = 0
      userPoint(1).X = 3
      userPoint(1).Y = 10
      userPoint(2).X = 9
      userPoint(2).Y = -10
      userPoint(3).X = 12
      userPoint(3).Y = 0

      Dim curve() As Integer
      ReDim curve(12)
      EffectsUtilities.GetCurvePoints(curve, userPoint, CurvePointsType.Linear)

      Dim command As FunctionalLightCommand = New FunctionalLightCommand(5000, 90, 50, 70, 4500, curve, FunctionalLightCommandFlags.Freehand Or FunctionalLightCommandFlags.Addition)
      ' Apply the linear lighting effect.
      command.Run(leadImage)
      codecs.Save(leadImage, "C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Result.jpg", RasterImageFormat.Jpeg, 24)

      RasterCodecs.Shutdown()
   End Sub
C#Copy Code
ImageProcessing.SpecialEffects.FunctionalLightCommand.FunctionalLightConstructor_S3 
      public void FunctionalLightConstructorExample_S3() 
      { 
         // Load an image 
         RasterCodecs.Startup(); 
         RasterCodecs codecs = new RasterCodecs(); 
         codecs.ThrowExceptionsOnInvalidImages = true; 
 
         RasterImage image = codecs.Load(@"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Master.jpg"); 
 
         // Prepare the command 
         Point[] userPoint = new Point[4]; 
         //Apply the filter 
         userPoint[0].X = 0; 
         userPoint[0].Y = 0; 
         userPoint[1].X = 3; 
         userPoint[1].Y = 5; 
         userPoint[2].X = 9; 
         userPoint[2].Y = 7; 
         userPoint[3].X = 12; 
         userPoint[3].Y = 10;  
 
         int[] curve = new int[13]; 
         EffectsUtilities.GetCurvePoints(curve, userPoint, CurvePointsType.Linear); 
 
         FunctionalLightCommand command = new FunctionalLightCommand(5000, 90, 50, 70, 4500, curve,FunctionalLightCommandFlags.Freehand | FunctionalLightCommandFlags.Addition); 
         // Apply the linear lighting effect. 
         command.Run(image); 
         codecs.Save(image, @"C:\Program Files\LEAD Technologies\LEADTOOLS 15\Images\Result.jpg", RasterImageFormat.Jpeg, 24); 
 
         RasterCodecs.Shutdown(); 
      }

Requirements

Target Platforms: Microsoft .NET Framework 2.0, Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family

See Also